package servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;

/**
 * Create By IntelliJ IDEA
 *
 * @Author: jsonor
 * @Create-Time: 2017/9/21 9:08
 * @Description: 获取get方法中附加的参数
 */
public class GetParametersServlet extends HttpServlet {

  private static Logger logger = Logger.getLogger(GetParametersServlet.class);

  /**
   * HTTP get方法
   * 用户需要传送给服务器的数据，都需要拼接在访问地址的后面，格式为:
   * ip:8080/资源?param1=xxxx&param2=xxxx&param3=xxxx.....
   * 1. 在访问的的url后添加?
   * 2. 添加需要传送的参数: 参数以key=value的形式出现，多个参数使用&进行组合
   * 3. URL的最大长度是256个字节
   *
   * 4. 如何获取到用户的参数
   *    String getParameter(String key);
   * @param req
   * @param resp
   * @throws ServletException
   * @throws IOException
   */
  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {

    // 获取用户的参数测试
    // 用户的发送url: http://localhost:8080/test/param?name=wch&password=123456
    // key=index
    // 获取的是一个string类型
    // 如果需要转化，请自己动手

    String name = req.getParameter("name");
    String password = req.getParameter("password");
    logger.debug("username = " + name);
    logger.debug("password = " + password);

    // 和数据库中的数据进行查询，来验证该用户是否存在
    // ..
    if ("wch".equals(name) && "123456".equals(password)) {
      resp.getWriter().write("hello world, i get your message from get method : GetParameterServlet");
    } else {
      resp.getWriter().write("gun......");
    }
  }
}
